package com.heima.service;

import com.heima.dto.InsertUserDto;
import com.heima.dto.UserResetDto;
import com.heima.dto.UserStatusDto;
import com.heima.dto.pagedto.UserPageDto;
import com.heima.result.ListRoleResult;
import com.heima.vo.UserInfoDeptVo;
import com.heima.vo.PageResult;
import com.heima.vo.UserVo;

import java.util.List;

public interface UserService {
    /**
     * 用户分页查询
     *
     * @param dto
     * @return
     */
    PageResult queryUser(UserPageDto dto);

    /**
     * 用户修改状态
     *
     * @param dto
     */
    void updateStatus(UserStatusDto dto);

    /**
     * 根据id查询用户
     *
     * @param id
     * @return
     */
    UserVo findUserById(Integer id);

    /**
     * 新增用户
     *
     * @param dto
     */
    void insertUser(InsertUserDto dto);

    /**
     * 重置用户密码
     *
     * @param dto
     */
    void resetPassword(UserResetDto dto);

    /**
     * 角色下拉列表
     */
    ListRoleResult listselect();

    /**
     * 根据id删除用户
     *
     * @param id
     */
    void deleteUser(Integer id);

    /**
     * 修改用户
     *
     * @param dto
     */
    void updateUser(InsertUserDto dto);

    /**
     * 查询部门和用户的复合信息
     *
     * @param deptId
     * @return
     */
    List<UserInfoDeptVo> queryDeptUser(Integer deptId);
}


